package com.qing.annotation.param;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@MyParamAnnotation(age = 18, schools = {"清华", "北大"})
@MyParamAnnotation2("嗯嗯")
public class ParamAnnotation {
}

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyParamAnnotation {
    //注解的参数：参数类型 参数名称 ();  括号必须带，而且参数没有默认值，调用注解时必须给注解参数赋值
    String name() default "";

    int age();

    String[] schools();
}

@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyParamAnnotation2 {
    //当注解只有一个参数时，建议使用value命名，这样调用方使用注解赋值时可以不用写参数名
    String value();
}
